import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import pxtovw from 'postcss-px-to-viewport';

export default defineConfig({
    // base: "https://static-test.ldvip.cn/ynboc/cards/", // 默认、配置文件的根目录位相对路径
    base: "https://static.ldvip.cn/ynboc/cards/", // 默认、配置文件的根目录位相对路径
    // base: '/goods_act_abc/', // 默认、配置文件的根目录位相对路径
    // base: "./", // 本地
    build: {
        //打包后文件目录
        outDir: "dist",
        //压缩
        minify: false,// 打包结果取消minify，方便我们看打包后结果对比
        rollupOptions: {
            // rollup 打包配置
            output: {
                // 静态资源打包区分文件夹
                chunkFileNames: 'static/js/[name]-[hash].js',
                entryFileNames: 'static/js/[name]-[hash].js',
                assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
                manualChunks(id) { // 静态资源分拆打包
                    // 将src的文件打包成一个vendor。js
                    // if (id.includes('src')) {
                    //   return 'page'
                    // }
                    // return ''
                    // node_modules的包逐个打包
                    if (id.includes('node_modules')) {
                        return id.toString().split('node_modules/')[1].split('/')[0].toString();
                    }
                }
            }
        }
    },
    plugins: [vue()],
    // 配置文件引用别名 alias
    resolve: {
        alias: {
            '@': path.resolve(__dirname, 'src'),
        },
    },
    css: {
        postcss: {
            plugins: [
                pxtovw({
                    unitToConvert: 'px',
                    viewportWidth: 750, // 设计稿宽度
                    // viewportHeight: 667,
                    unitPrecision: 3, // 保留小数点后2位
                    viewportUnit: 'vw',
                    exclude: [/node_modules/], //忽略哪些文件转换
                    selectorBlackList: ['.ignore', '.hairlines'],
                    minPixelValue: 1,
                    mediaQuery: false,
                })
            ]
        }
    },
    server: {
        open: true,// 启动项目自动弹出浏览器
        port: 8080,// 启动端口
        host: "0.0.0.0",
        proxy: {
            "/api": {
                target: "https://h5.ldvip.cn",
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/api/, "")
            },
            // "/ws-api": {
            //     target: "wss://test-api.test.com",
            //     changeOrigin: true, //是否允许跨域
            //     ws: true
            // }
        }
    }
})
